<html>
<body>
Reports calls to <code>wait()</code> that are not made inside a loop.
<p>
  <code>wait()</code> is normally used to suspend a thread until some condition becomes true.
  As the thread could have been waken up for a different reason,
  the condition should be checked after the <code>wait()</code> call returns.
  A loop is a simple way to achieve this.
</p>
<p><b>Example:</b></p>
<pre><code>
  class BoundedCounter {
    private int count;
    synchronized void inc() throws InterruptedException {
      if (count >= 10) wait();
      ++count;
    }
  }
</code></pre>
<p>Good code should look like this:</p>
<pre><code>
  class BoundedCounter {
    private int count;
    synchronized void inc() throws InterruptedException {
      while (count >= 10) wait();
      ++count;
    }
  }
</code></pre>
<!-- tooltip end -->
</body>
</html>